//
//  SQT.h
//  TrackingSim
//
//  Created by Garrett Manka on 12/18/11.
//  Copyright (c) 2011. All rights reserved.
//

#ifndef TrackingSim_SQT_h
#define TrackingSim_SQT_h

#include <math/Vector.h>
#include <math/Quaternion.h>

class SQT
{
public:
    
    SQT();
    SQT( double s, const Quaternion& q, const Sim::Vector& t);
    
    inline const double s() const { return m_s; }
    inline void s( double _s ) { m_s = _s; }
    
    inline const Quaternion& q() const { return m_q; }
    inline void q( const Quaternion& _q ) { m_q = _q; }
    
    inline const Sim::Vector& t() const { return m_t; }
    inline void t( const Sim::Vector& _t ) { m_t = _t; }
    
    Matrix4x4 getMatrix4x4() const;
    
    
private:
    
    double m_s;
    Quaternion m_q;
    Sim::Vector m_t;
    
};

#endif
